package com.enhe.gck.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import com.enhe.gck.CarbonRelationType;
import com.kuangkie.carbon.record.Updatable;
import com.kuangkie.carbon.record.annotation.Attribute;
import com.kuangkie.carbon.record.annotation.CarbonRecord;
import com.kuangkie.carbon.record.annotation.RecordCode;
import com.kuangkie.carbon.record.annotation.Relation;
import com.kuangkie.carbon.uid.model.UidManager;
import lombok.Data;

// 客户管理
@Data
@CarbonRecord("hwane16644")
public class Customer implements Updatable{
    @JSONField(name="唯一编码")
    @RecordCode
    private Long id = UidManager.getLongUID();

    // 客户名称
    @JSONField(name="客户名称")
    @Attribute("hwan16646")
    private String name;

    // 联系电话
    @JSONField(name="联系电话")
    @Attribute("hwan16649")
    private String phone;

    // 联系人
    @JSONField(name="联系人")
    @Attribute("hwan16650")
    private String contacts;

    // 详细地址
    @JSONField(name="详细地址")
    @Attribute("hwan16651")
    private String address;

    // 是否删除
    @JSONField(name="是否删除")
    @Attribute("hwan16652")
    private String isDelete;

    // 客户类型
    @JSONField(name="客户类型")
    @Attribute("hwan16653")
    private String type;

    // 可用余额
    @JSONField(name="可用余额")
    @Attribute("hwan16676")
    private Double moneyUsable;

    // 可下单量
    @JSONField(name="可下单量")
    @Attribute("hwan16814")
    private Double weightUsable;

    // 客户主键
    @JSONField(name="客户主键")
    @Attribute("hwan17078")
    private String customerId;

    // 客户编码
    @JSONField(name="客户编码")
    @Attribute("hwan17079")
    private String customerName;

    @JSONField(name="可下袋数(袋)")
    @Attribute("hwan19263")
    private String bagUsable;

    @JSONField(name="大散户")
    @Attribute("hwan19389")
    private Boolean isRetail;

    @JSONField(name="停用")
    @Attribute("hwan21357")
    private Boolean isStop;

    @Relation(CarbonRelationType.RR_客户管理_属于开票信息_开票信息)
    private InvoiceInfo invoiceInfo;
    @Relation(CarbonRelationType.RR_客户管理_经销商_客户管理)
    private Customer customer;
    @Override
    public String getRecordCode() {
        return this.id==null ? null : this.id.toString();
    }
}